# Packages
pacman::p_load(tidyverse, sp, leaflet)
# Get data
data <- openxlsx::read.xlsx("data/parks.xlsx")
# Logos
logo_url <- list.files("logos", full.names = T)
# Split coordinate column
data <- data %>%
tidyr::separate(Coordinates, c('Lat', 'Long'), sep = ", ") %>%
mutate(
Lat = as.numeric(Lat), Long = as.numeric(Long),
Logo_url = logo_url
)
Tilanne: 59 % puistoista käyty (24 / 41)!
# GPX files
# https://medium.com/@mark.reuter/parsing-gps-gpx-files-with-r-21ea0a694da8
routes <- list.files("data/gpx", recursive = T, full.names = T)
gpx <- list()
for (i in 1:length(routes)) {
cat(paste0(routes[i], " "))
gpx[[i]] <- xml2::read_html(routes[i]) %>% # Parse
xml2::xml_find_all("//trkpt") %>% # The lat and long data
xml2::xml_attrs() %>% bind_rows() %>%
mutate(route = i)
}
## data/gpx/2021-06_kolovesi/activity_6981698265.gpx data/gpx/2021-06_kolovesi/activity_6981860001.gpx data/gpx/2021-06_kolovesi/activity_6989726017.gpx data/gpx/2021-06_kolovesi/activity_6989727321.gpx data/gpx/2021-06_kolovesi/activity_6989744487.gpx data/gpx/2021-09_koli/activity_7421814156.gpx data/gpx/2021-09_koli/activity_7427486654.gpx data/gpx/2021-10_koli/activity_7666877317.gpx data/gpx/2022-07_leivonmäki/activity_9136787374.gpx data/gpx/2022-07_leivonmäki/activity_9137844187.gpx data/gpx/2022-07_oulanka/activity_9192512881.gpx data/gpx/2022-07_oulanka/activity_9200220926.gpx data/gpx/2022-07_oulanka/activity_9209380627.gpx data/gpx/2022-07_oulanka/activity_9210216091.gpx data/gpx/2022-07_pyhä-luosto/activity_9235845391.gpx data/gpx/2022-07_pyhä-luosto/activity_9241381717.gpx data/gpx/2022-07_pyhä-luosto/activity_9247623691.gpx data/gpx/2022-07_riisitunturi/activity_9252480963.gpx data/gpx/2022-09_etelä-konnevesi/activity_9696907100.gpx data/gpx/2022-09_pallas-yllästunturi/activity_9675343727.gpx data/gpx/2022-09_pallas-yllästunturi/activity_9692648640.gpx data/gpx/2022-09_pallas-yllästunturi/activity_9692658405.gpx data/gpx/2022-09_pallas-yllästunturi/activity_9692663429.gpx data/gpx/2023-08_syöte/activity_11765773882.gpx data/gpx/2023-08_syöte/activity_11773266471.gpx data/gpx/2023-08_syöte/activity_11774082649.gpx data/gpx/2023-08_syöte/activity_11777316551.gpx data/gpx/2024-07_tiilikkajärvi/activity_16390852119.gpx data/gpx/2024-07_tiilikkajärvi/activity_16405393961.gpx data/gpx/2024-08_UKK/activity_16742600589.gpx data/gpx/2024-08_UKK/activity_16766364727.gpx data/gpx/2024-08_UKK/activity_16766364908.gpx data/gpx/2024-08_UKK/activity_16766365735.gpx data/gpx/2024-08_UKK/activity_16766961701.gpx data/gpx/2024-10_koli/activity_17266394023.gpx data/gpx/2024-10_koli/activity_17275541365.gpx
gpxdf <- bind_rows(gpx) %>%
mutate(lat = as.numeric(lat), lon = as.numeric(lon))
# head(gpxdf)
# Visited icons
visited <- data %>% filter(Visit == "Joo")
# visited_icons <- icons(
# iconUrl = visited$Logo_url,
# iconWidth = 40, iconHeight = 30,
# iconAnchorX = 0, iconAnchorY = 0
# )
# Not yet
notyet <- data %>% filter(Visit != "Joo")
# notyet_icons <- icons(
# iconUrl = "help-circle.svg",
# iconWidth = 20, iconHeight = 20,
# iconAnchorX = 0, iconAnchorY = 0
# )
# Simple pins
visited_icons <- icons(
iconUrl = "pin.png",
iconWidth = 30, iconHeight = 30,
iconAnchorX = 0, iconAnchorY = 0
)
notyet_icons <- icons(
iconUrl = "pin2.png",
iconWidth = 30, iconHeight = 30,
iconAnchorX = 0, iconAnchorY = 0
)
# Plot
basemap <- data %>%
leaflet() %>%
addTiles() %>%
addMarkers(
data = visited, ~Long, ~Lat,
label = paste0(visited$Park_short, "\n", visited$Dates),
icon = visited_icons
) %>%
addMarkers(
data = notyet, ~Long, ~Lat,
label = notyet$Park_short,
icon = notyet_icons
)
# addMarkers(
# data = visited, ~Long, ~Lat,
# label = paste0(visited$Park_short, "\n", visited$Dates),
# icon = visited_icons
# ) %>%
# addMarkers(
# data = notyet, ~Long, ~Lat,
# label = notyet$Park_short,
# icon = notyet_icons
# )
# Add gpx routes
for (i in 1:length(routes)) {
basemap <- basemap %>%
addPolylines(
data = gpxdf %>% filter(route == i),
lat = ~lat,
lng = ~lon,
color = "#008B00",
opacity = 0.8,
weight = 3
)
}
basemap
Käydyt puistot merkitty logolla ja käymättömät kysymysmerkillä.
Kartta on tehty käyttäen R-paketteja sp ja
leaflet.
Koordinaatit osoitteesta: kartta.com/muut-kartat/suomen-kansallispuistot/.